Method and apparatus for obtaining an image associated with a location of a mobile terminal

ABSTRACT

A method, apparatus and computer program product are provided in order to obtain an image from a remote computer with the image being associated with the current location of a mobile terminal via which a user provides input soliciting the image. In the context of a method, the user input representative of a request to obtain an image from a remote computer may be received. The method may then determine a current context including a location of a mobile terminal and may cause the current context to be transmitted to the remote computer. The method may also receive an image from the remote computer based upon the current context of the mobile terminal. In this regard, the image is associated with the location of the mobile terminal upon receiving the user input. The method may also cause the image received from the remote computer to be stored.

TECHNOLOGICAL FIELD

An example embodiment of the present invention relates generally toobtaining an image from a remote computer and, more particularly, toobtaining an image from a remote computer based upon the current contextincluding the location of a mobile terminal.

BACKGROUND

Advances in technology have allowed for increasingly complex features tobe integrated into mobile terminals. Convergence of technology hasresulted in smart phones and cellular phones that have image and videocapture capabilities, and image and video capture devices that arecapable of wireless communications. As devices that can capture imagesand videos become ubiquitous and the population of users with access tothese devices increases, users frequently want to capture images for awide variety of purposes. For example, some users may take photographsas mementos, to remind themselves of a special occasion, a particularevent, a vacation, or the like. However, capturing an aestheticallypleasing image can be difficult, particularly for users who onlycasually take photographs. In this regard, there are many variables,such as the lighting, the weather, the viewing angle, etc., that maycomplicate the image capture process and cause users to settle for asub-optimal image.

BRIEF SUMMARY

In one embodiment, a method is provided that includes receiving userinput representative of a request to obtain an image from a remotecomputer. The method of this embodiment also includes determining, usinga processor, a current context including a location of a mobile terminaland causing the current context to be transmitted to the remotecomputer. The method of this embodiment also includes receiving an imagefrom the remote computer based upon the current context of the mobileterminal. The image may be associated with the location of the mobileterminal upon receiving the user input. The method of this embodimentalso includes causing the image received from the remote computer to bestored.

The method of an example embodiment may determine the current context bydetermining contextual information sensed by the mobile terminal. Thecontextual information of one embodiment may also include at least oneof a time of day, a viewing angle, a weather environment, lightconditions or a season. The method of an example embodiment may alsoinclude causing an image to be captured and causing the image that wascaptured to be stored along with the image received from the remotecomputer. In this embodiment, the image that was captured may beprovided to the remote computer.

The method of an example embodiment may also include assigning a timevalue to the image received from the remote computer based upon a timeat which the user input was received. In an example embodiment, themethod may also include causing a user interface element to bedisplayed, determining whether an image associated with the location ofthe mobile terminal is available from the remote computer and causing arepresentation of the user interface element to be altered based uponavailability of the image associated with the location of the mobileterminal from the remote computer. In this embodiment, the userinterface element may be configured to receive the user inputrepresentative of the request to obtain an image from the remotecomputer. The method of an example embodiment may also include receivinguser input partially overriding the current context. In this embodiment,the method may receive an image from the remote computer based upon thecurrent context by receiving the image from the remote computer basedupon the current context as partially overridden by the user input.

In another embodiment, an apparatus is provided that includes at leastone processor and at least one memory including computer programinstructions with the at least one memory and the computer programinstructions configured to, with the at least one processor, cause theapparatus at least to receive user input representative of a request toobtain an image from a remote computer. The apparatus of this embodimentis also configured to determine a current context including a locationof a mobile terminal and cause the current context to be transmitted tothe remote computer. The apparatus of this embodiment is also configuredto receive an image from the remote computer based upon the currentcontext of the mobile terminal. The image may be associated with thelocation of the mobile terminal upon receiving the user input. Theapparatus of this embodiment is also configured to cause the imagereceived from the remote computer to be stored.

The at least one memory and the computer program instructions may alsobe configured to, with the at least one processor, cause the apparatusof an example embodiment to determine the current context by determiningcontextual information sensed by the mobile terminal. The contextualinformation of one embodiment may also include at least one of a time ofday, a viewing angle, a weather environment, light conditions or aseason. The at least one memory and the computer program instructionsmay also be configured to, with the at least one processor, cause theapparatus of an example embodiment to cause an image to be captured andto cause the image that was captured to be stored along with the imagereceived from the remote computer. In this embodiment, the image thatwas captured may be provided to the remote computer.

The at least one memory and the computer program instructions may beconfigured to, with the at least one processor, cause the apparatus ofan example embodiment to assign a time value to the image received fromthe remote computer based upon a time at which the user input wasreceived. In an example embodiment, the at least one memory and thecomputer program instructions may be configured to, with the at leastone processor, cause the apparatus to cause a user interface element tobe displayed, determine whether an image associated with the location ofthe mobile terminal is available from the remote computer and cause arepresentation of the user interface element to be altered based uponavailability of the image associated with the location of the mobileterminal from the remote computer. In this embodiment, the userinterface element may be configured to receive the user inputrepresentative of the request to obtain an image from the remotecomputer. The at least one memory and the computer program instructionsmay also be configured to, with the at least one processor, cause theapparatus to receive user input partially overriding the currentcontext. In this embodiment, the at least one memory and the computerprogram instructions may be configured to, with the at least oneprocessor, cause the apparatus to receive an image from the remotecomputer based upon the current context by receiving the image from theremote computer based upon the current context as partially overriddenby the user input.

In a further embodiment, a computer program product is provided thatincludes at least one non-transitory computer-readable storage mediumbearing computer program instructions embodied therein for use with acomputer with the computer program instructions including programinstructions configured to receive user input representative of arequest to obtain an image from a remote computer. The computer programinstructions of this embodiment also includes program instructionsconfigured to determine a current context including a location of amobile terminal and program instructions configured to cause the currentcontext to be transmitted to the remote computer. The computer programinstructions of this embodiment also include program instructionsconfigured to receive an image from the remote computer based upon thecurrent context of the mobile terminal. The image may be associated withthe location of the mobile terminal upon receiving the user input. Thecomputer program instructions of this embodiment also include programinstructions configured to cause the image received from the remotecomputer to be stored.

The program instructions of an example embodiment may be configured todetermine the current context by determining contextual informationsensed by the mobile terminal. The contextual information of oneembodiment may also include at least one of a time of day, a viewingangle, a weather environment, light conditions or a season. The computerprogram instructions of an example embodiment may also include programinstructions configured to cause an image to be captured and programinstructions configured to cause the image that was captured to bestored along with the image received from the remote computer. In thisembodiment, the image that was captured may be provided to the remotecomputer.

The computer program instructions of an example embodiment may alsoinclude program instructions configured to assign a time value to theimage received from the remote computer based upon a time at which theuser input was received. In an example embodiment, the computer programinstructions may also include program instructions configured to cause auser interface element to be displayed, program instructions configuredto determine whether an image associated with the location of the mobileterminal is available from the remote computer and program instructionsconfigured to cause a representation of the user interface element to bealtered based upon availability of the image associated with thelocation of the mobile terminal from the remote computer. In thisembodiment, the user interface element may be configured to receive theuser input representative of the request to obtain an image from theremote computer.

In yet another embodiment, an apparatus is provided that includes meansfor receiving user input representative of a request to obtain an imagefrom a remote computer. The apparatus of this embodiment also includesmeans for determining a current context including a location of a mobileterminal and means for causing the current context to be transmitted tothe remote computer. The apparatus of this embodiment also includesmeans for receiving an image from the remote computer based upon thecurrent context of the mobile terminal. The image may be associated withthe location of the mobile terminal upon receiving the user input. Theapparatus of this embodiment also includes means for causing the imagereceived from the remote computer to be stored.

BRIEF DESCRIPTION OF THE DRAWINGS

Having thus described certain embodiments of the invention in generalterms, reference will now be made to the accompanying drawings, whichare not necessarily drawn to scale, and wherein:

FIG. 1 is a block diagram of an apparatus that may be specificallyconfigured in accordance with an example embodiment of the presentinvention;

FIG. 2 is a block diagram of a system for providing images in accordancewith an example embodiment of the present invention;

FIG. 3 is an illustration of an interface of a mobile terminal forfacilitating the provision of images from a remote computer inaccordance with an example embodiment of the present invention;

FIG. 4 is an illustration of an interface of a mobile terminal depictingan image received from a remote computer in accordance with an exampleembodiment of the present invention;

FIG. 5 is an illustration of an interface of a mobile terminal in whichthe representation of the “cheat” control has been altered in accordancewith an example embodiment of the present invention; and

FIG. 6 is a flow diagram illustrating the operations performed inaccordance with an example embodiment of the present invention.

DETAILED DESCRIPTION

Some embodiments of the present invention will now be described morefully hereinafter with reference to the accompanying drawings, in whichsome, but not all, embodiments of the invention are shown. Indeed,various embodiments of the invention may be embodied in many differentforms and should not be construed as limited to the embodiments setforth herein; rather, these embodiments are provided so that thisdisclosure will satisfy applicable legal requirements. Like referencenumerals refer to like elements throughout. As used herein, the terms“data,” “content,” “information,” and similar terms may be usedinterchangeably to refer to data capable of being transmitted, receivedand/or stored in accordance with embodiments of the present invention.Thus, use of any such terms should not be taken to limit the spirit andscope of embodiments of the present invention.

Additionally, as used herein, the term ‘circuitry’ refers to (a)hardware-only circuit implementations (e.g., implementations in analogcircuitry and/or digital circuitry); (b) combinations of circuits andcomputer program product(s) comprising software and/or firmwareinstructions stored on one or more computer readable memories that worktogether to cause an apparatus to perform one or more functionsdescribed herein; and (c) circuits, such as, for example, amicroprocessor(s) or a portion of a microprocessor(s), that requiresoftware or firmware for operation even if the software or firmware isnot physically present. This definition of ‘circuitry’ applies to alluses of this term herein, including in any claims. As a further example,as used herein, the term ‘circuitry’ also includes an implementationcomprising one or more processors and/or portion(s) thereof andaccompanying software and/or firmware. As another example, the term‘circuitry’ as used herein also includes, for example, a basebandintegrated circuit or applications processor integrated circuit for amobile phone or a similar integrated circuit in a server, a cellularnetwork device, other network device, and/or other computing device.

As defined herein, a “computer-readable storage medium,” which refers toa non-transitory physical storage medium (e.g., volatile or non-volatilememory device), can be differentiated from a “computer-readabletransmission medium,” which refers to an electromagnetic signal.

A method, apparatus and computer program product are provided inaccordance with an example embodiment of the present invention in orderto obtain an image from a remote computer based on the current contextincluding the location of a mobile terminal. In this regard, a method,apparatus and computer program product of an example embodiment maydetermine the location of the mobile terminal and, in some embodiments,additional context information, such as a time of day, lightingconditions, weather conditions and/or the like, and may cause thecurrent context to be transmitted to a remote computer, such as aserver. The remote computer may provide the mobile terminal with animage based upon the current context of the mobile terminal with theimage being associated with the location of the mobile terminal. Assuch, the method, apparatus and computer program product of an exampleembodiment may provide for the mobile terminal to receive an image fromthe remote computer that may be more aesthetically pleasing than couldhave been captured by the user, while also being representative of theimage that could have been captured in accordance with the currentcontext.

The system of an embodiment of the present invention may include anapparatus 100 as generally described below in conjunction with FIG. 1for performing one or more of the operations set forth by FIG. 6 andalso described below. In this regard, the apparatus 100 may be embodiedby a mobile terminal. In this embodiment, the mobile terminal may be incommunication with a display and/or a data network, either directly,such as via a wireless or wireline connection, or indirectly via one ormore intermediate computing devices. In this regard, the display and themobile terminal may be parts of the same system in some embodiments.However, the apparatus 100 may alternatively be embodied by anothercomputing device that is in communication with the display and themobile terminal, such as via a wireless connection, a wirelineconnection or the like. For example, the apparatus may be a mobiletelephone, a personal digital assistant (PDA), a pager, a laptopcomputer, a tablet computer, a digital camera, or any of numerous otherhand held or portable communication devices, computation devices,content generation devices, content consumption devices or combinationsthereof. In some embodiments, the apparatus 100 may also oralternatively be embodied by a server or other remote computing node forproviding a representative image based upon the current context of amobile terminal.

It should also be noted that while FIG. 1 illustrates one example of aconfiguration of an apparatus 100 for obtaining an image from a remotecomputer that is based upon the current context of the mobile terminal,numerous other configurations may also be used to implement otherembodiments of the present invention. As such, in some embodiments,although devices or elements are shown as being in communication witheach other, hereinafter such devices or elements should be considered tobe capable of being embodied within the same device or element and thus,devices or elements shown in communication should be understood toalternatively be portions of the same device or element.

Referring now to FIG. 1, the apparatus 100 for obtaining an image from aremote computer that is based upon the current context of the mobileterminal in accordance with one example embodiment may include orotherwise be in communication with one or more of a processor 102, amemory 104, a communication interface 106, a user interface 108, acamera 110 and a sensor 112. In some embodiments, the processor (and/orco-processors or any other processing circuitry assisting or otherwiseassociated with the processor) may be in communication with the memorydevice via a bus for passing information among components of theapparatus. The memory device may include, for example, a non-transitorymemory, such as one or more volatile and/or non-volatile memories. Inother words, for example, the memory device may be an electronic storagedevice (e.g., a computer readable storage medium) comprising gatesconfigured to store data (e.g., bits) that may be retrievable by amachine (e.g., a computing device like the processor). The memory devicemay be configured to store information, data, content, applications,instructions, or the like for enabling the apparatus to carry outvarious functions in accordance with an example embodiment of thepresent invention. For example, the memory device could be configured tobuffer input data for processing by the processor. Additionally oralternatively, the memory device could be configured to storeinstructions for execution by the processor.

In some embodiments, the apparatus 100 may be embodied as a chip or chipset. In other words, the apparatus may comprise one or more physicalpackages (e.g., chips) including materials, components and/or wires on astructural assembly (e.g., a baseboard). The structural assembly mayprovide physical strength, conservation of size, and/or limitation ofelectrical interaction for component circuitry included thereon. Theapparatus may therefore, in some cases, be configured to implement anembodiment of the present invention on a single chip or as a single“system on a chip.” As such, in some cases, a chip or chipset mayconstitute means for performing one or more operations for providing thefunctionalities described herein.

The processor 102 may be embodied in a number of different ways. Forexample, the processor may be embodied as one or more of varioushardware processing means such as a coprocessor, a microprocessor, acontroller, a digital signal processor (DSP), a processing element withor without an accompanying DSP, or various other processing circuitryincluding integrated circuits such as, for example, an ASIC (applicationspecific integrated circuit), an FPGA (field programmable gate array), amicrocontroller unit (MCU), a hardware accelerator, a special-purposecomputer chip, or the like. As such, in some embodiments, the processormay include one or more processing cores configured to performindependently. A multi-core processor may enable multiprocessing withina single physical package. Additionally or alternatively, the processormay include one or more processors configured in tandem via the bus toenable independent execution of instructions, pipelining and/ormultithreading.

In an example embodiment, the processor 102 may be configured to executeinstructions stored in the memory device 104 or otherwise accessible tothe processor. Alternatively or additionally, the processor may beconfigured to execute hard coded functionality. As such, whetherconfigured by hardware or software methods, or by a combination thereof,the processor may represent an entity (e.g., physically embodied incircuitry) capable of performing operations according to an embodimentof the present invention while configured accordingly. Thus, forexample, when the processor is embodied as an ASIC, FPGA or the like,the processor may be specifically configured hardware for conducting theoperations described herein. Alternatively, as another example, when theprocessor is embodied as an executor of software instructions, theinstructions may specifically configure the processor to perform thealgorithms and/or operations described herein when the instructions areexecuted. However, in some cases, the processor may be a processor of aspecific device configured to employ an embodiment of the presentinvention by further configuration of the processor by instructions forperforming the algorithms and/or operations described herein. Theprocessor may include, among other things, a clock, an arithmetic logicunit (ALU) and logic gates configured to support operation of theprocessor.

Meanwhile, the communication interface 106 may be any means such as adevice or circuitry embodied in either hardware or a combination ofhardware and software that is configured to receive and/or transmit datafrom/to a network and/or any other device or module in communicationwith the apparatus 100, such as by supporting communications with adisplay and/or a mobile terminal. In this regard, the communicationinterface may include, for example, an antenna (or multiple antennas)and supporting hardware and/or software for enabling communications witha wireless communication network. Additionally or alternatively, thecommunication interface may include the circuitry for interacting withthe antenna(s) to cause transmission of signals via the antenna(s) or tohandle receipt of signals received via the antenna(s). In someenvironments, the communication interface may alternatively or alsosupport wired communication. As such, for example, the communicationinterface may include a communication modem and/or otherhardware/software for supporting communication via cable, digitalsubscriber line (DSL), universal serial bus (USB) or other mechanisms.

The apparatus 100 may include a user interface 108 that may, in turn, bein communication with the processor 102 to provide output to the userand, in some embodiments, to receive an indication of a user input. Forexample, the user interface may include a display and, in someembodiments, may also include a keyboard, a mouse, a joystick, a touchscreen, touch areas, soft keys, a microphone, a speaker, or otherinput/output mechanisms. In one embodiment, the display of the apparatusmay be embodied by a liquid crystal display (LCD) screen presented onone surface of the mobile terminal. For example, in an instance in whichthe display is an LCD screen embodied on one surface of the mobileterminal, the LCD display may be operable to function as a cameraviewfinder. As described below, the user interface 108 may further allowfor the user to provide input directing an image capture and/or inputrequesting that an image be obtained from a remote computer that isbased upon the current context of the apparatus. The processor 102 maycomprise user interface circuitry configured to control at least somefunctions of one or more user interface elements such as a display and,in some embodiments, a speaker, ringer, microphone and/or the like. Theprocessor 102 and/or user interface circuitry comprising the processor102 may be configured to control one or more functions of one or moreuser interface elements through computer program instructions (e.g.,software and/or firmware) stored on a memory accessible to the processor(e.g., memory 104, and/or the like).

In some example embodiments, the apparatus 100 may include an imagecapturing element, such as a camera 110, video and/or audio module, incommunication with the processor 102. The image capturing element may beany means for capturing an image, video and/or audio for storage,display or transmission. For example, in an example embodiment in whichthe image capturing element is a camera, the camera may include adigital camera capable of forming a digital image file from a capturedimage. As such, the camera may include all hardware (for example, a lensor other optical component(s), image sensor, image signal processor,and/or the like) and software necessary for creating a digital imagefile from a captured image. Alternatively, the camera may include onlythe hardware needed to view an image, while a memory device 104 of theapparatus stores instructions for execution by the processor in the formof software necessary to create a digital image file from a capturedimage. In an example embodiment, the camera 110 may further include aprocessing element such as a co-processor which assists the processor inprocessing image data and an encoder and/or decoder for compressingand/or decompressing image data. The encoder and/or decoder may encodeand/or decode according to, for example, a joint photographic expertsgroup (JPEG) standard, a moving picture experts group (MPEG) standard,or other format.

As shown in FIG. 1, the apparatus 100 may also include one or moresensors 112, such as a location information receiver (e.g., a GPSreceiver), an accelerometer, a gyroscope, a compass, or the like, thatmay be in communication with the processor 102 and may be configured todetermine the current context of the apparatus including the location ofthe apparatus and, in some instances the orientation of the apparatus.

FIG. 2 is a block diagram depicting an example of a system 200 forobtaining an image from a remote computer 204 based upon the currentcontext of a mobile terminal 202 in accordance with an exampleembodiment of the present invention. The system 200 provides a mobileterminal 202 in communication with a remote computer, such as a server,204 via a network 208. The mobile terminal 202 and the remote computer204 may be computing devices and, as such, may embody the apparatus 100as described with respect to FIG. 1. In the illustrated embodiment, themobile terminal 202 may be operable to function as an image capturedevice, using an image capture module 210. The image capture module 210may be implemented via hardware, software, or a combination thereof,such as the processor 102 described above, and the image capture module210 may enable the mobile terminal 202 to capture an image, such as aphotograph, by directing a processor to execute an image captureapplication. In other embodiments, however, the mobile terminal 202 isnot configured to function as an image capture device. Regardless ofwhether the mobile terminal 202 is configured to function as an imagecapture device, the mobile terminal may be configured to interface withone or more sensors coupled to the mobile terminal to receive contextualinformation, such as the location of the mobile terminal, theorientation of the mobile terminal, the time of day, the weatherenvironment, the lighting conditions or the like. In some embodiments,the mobile terminal 202 may be configured to receive the user'sselection of particular contextual information that is different fromthe current context of the mobile terminal, thereby allowing user tooverride the current context. For example, the current weather may berain, but the user may prefer to receive an image from the remotecomputer 204 depicting a scene in a sunny environment, or the currenttime of day may be daytime, but the user may prefer a nighttime view.The mobile terminal 202 may also be configured to receive an indicationfrom the user indicating that certain characteristics are more importantor less important than other characteristics, and, in one embodiment,may receive an indication from the user that certain characteristics(e.g., a user location) should not be transmitted to the remote computer204.

Upon determining the current context, the mobile terminal 202 maytransmit the current context, including the location of the mobileterminal, to the remote computer 204. The current context may be used inthis manner to allow the remote computer 204 to identify an image thatis representative of an image captured at the location and, in someembodiments, to identify an image that has the same or similarcontextual information. Although the remote computer 204 receivescontextual information representative of the current context from themobile terminal 202, the remote computer of an example embodiment mayalso be configured to independently obtain additional contextualinformation, such as by obtaining weather information from a websitebased upon the location of the mobile terminal. The mobile terminal 202may thereafter receive an image from the remote computer 204 that isbased on the current context of the mobile terminal such that the imageis associated with the location of the mobile terminal and, in someembodiments, has the same or similar contextual information. As such,the mobile terminal 202 may obtain an image that is consistent with itscurrent context, even in an instance in which the mobile terminal doesnot capture the image itself, but, instead, obtains the image from aremote computer 204. In some instances, the image received from theremote computer 204 may be of better quality than could have reasonablybeen obtained by capturing an image with the mobile terminal 202.

The remote computer 204 may be configured to receive the current contextincluding the location provided by the mobile terminal 202, and to matchthe current context received from the mobile terminal to the contextinformation associated with images contained within an image database206. The matching operation may be performed by the remote computer 204,such as an image identification module 212, configured to compare thecurrent context received from the mobile terminal with contextualinformation of images stored in the image database 206. The imageidentification module 212 may be implemented as hardware, software, or acombination thereof, but, in one embodiment is embodied by a processor102 as described above. Images stored in the image database 206 may beassociated with a particular scene and may have particular contextualinformation. Images in the image database 206 may be identified asmatching the current context if the contextual information of an imagein the image database is substantially similar to the current contextreceived from the mobile terminal 202, such as by being identical, beingwithin a predefined range or being the closest from amongst the imagesin the image database. For example, an image in the image database 206may be identified as being substantially similar if the image in theimage database has a minimum number or percentage of contextualinformation that is identical to the current context received from themobile terminal 202. Alternatively or additionally, an image in theimage database 206 may be identified as having substantially similarcharacteristics if the contextual information is within a particularrange of the current context received from the mobile terminal 202. Forexample, an image with a time characteristic of 11:00 AM may beidentified as being substantially similar to a current context that isreceived from the mobile terminal 202 indicating a time of 10:55 AM.Various methods of weighting contextual information and establishingsimilarity thresholds may be employed to select the image in the imagedatabase 206. In some embodiments, an image in the image database 206may be selected based on the selected image having the most similarcontextual information to the current context received from the mobileterminal 202 (e.g., selecting a “closest” image from the imagedatabase).

The images stored by the image database 206 may be taken by professionalphotographers with professional equipment, in optimal lighting andviewing angle conditions, and/or the like. However, the images stored bythe image database 206 may also or alternatively include imagescontributed by a number of other people including, for example, by theuser of the mobile terminal 202. As noted above, the images storedwithin the image database 206 may be associated with contextualinformation of their own. For example, each image may be associated withcontextual information indicating the location from which the image wastaken, a direction and/or orientation at which the image was captured, atime of day and/or the date at which the image was captured or adescription of the weather at the time at which the image was taken. Thelocation may be defined in various manners including, for example, thelatitude and longitude coordinates of the location, a street address, aname of a landmark within the image or the like. The image database 206may be stored in local memory maintained by the remote computer 204, orit may be implemented on a separate computing device in communicationwith the remote computer. In some embodiments, the image database 206 isstored on a network, such as in a “cloud” environment.

The image database 206 may be configured to accept image submissionsfrom users, such as from the user of the mobile terminal 202. Users thatsubmit images in this manner may also be prompted to provide contextualinformation for association with provided images. Images submitted inthis manner may be also rated by other users based on the quality of theimage, how closely the contextual information matches the image, or byother rating criteria.

In some embodiments, a user of a mobile terminal 202 may capture animage at a location and may provide the image that was captured to theimage database 206 along with a request for the remote computer 204 toprovide an image from the image database based upon, e.g., matching, theimage that was captured by the mobile terminal, such as by being takenat the same location. In this embodiment, the remote computer 204 mayconsider the contextual information associated with the image that wascaptured and may select one or more images from the image database 206based upon the contextual information, such as by selecting one or moreimages from the image database that match the image that was captured bythe mobile terminal 202. In identifying one or more images from theimage database 206 based upon the contextual information, the remotecomputer 204 of an example embodiment may also consider the ratingsassociated with the images with more highly rated images being morelikely to be provided by the remote computer than more lowly ratedimages in an instance in which all other contextual information is thesame. The contextual information associated with the image that wascaptured by the mobile terminal 202 may be provided by the mobileterminal and/or may be determined by the remote computer 204 by ananalysis of the image.

The image identification module 212 may weight certain contextualinformation in its analysis of the images in the image database 206relative to the contextual information provided by the mobile terminal202. For example, the remote computer 204 may be configured to place ahigher priority on matching a location and viewing angle of an imagethan a time of day or weather of an image. The relative priorities to beassociated with the contextual information may be provided by the mobileterminal 202 in one example embodiment.

After determining one or more images based upon the current context ofthe mobile terminal 202, the remote computer 204 may provide the imagesto the mobile terminal 202. The images may be directly transmitted tothe mobile terminal 202, or the remote computer 204 may provide links oranother way of accessing the images. In some embodiments, the remotecomputer 204 may only provide access to images from the image database206 in an instance in which the current context of the mobile terminal202 and the contextual information associated with the image from theimage database satisfy a similarity threshold. In this manner, theremote computer 204 may function to “keep the user honest” to verifythat, although the image from the image database 206 may not be from theexact same location as the location identified by the current context ofthe mobile terminal 202, the user has in fact visited the site, event,or the like. As such, users may use images provided by the imagedatabase 206 in this manner as evidence to others that they visited aparticular landmark or event.

FIG. 3 is a schematic diagram of an interface 300 that may be providedby a mobile terminal 202 of one embodiment. Although not required, themobile terminal 202 of one embodiment may function as an image capturedevice that allows the user to capture an image with the mobileterminal. However, the mobile terminal 202 may also or alternatively beconfigured to obtain an image from a remote computer 204 based upon thecurrent context of the mobile terminal.

In the illustrated embodiment, the interface 300 includes a viewfinder302. The viewfinder 302 may function to display an image that includesat least a portion of the current field of view of the mobile terminal202. In some embodiments, the mobile terminal 202 may include a camera110 configured to capture the image displayed by the viewfinder 302,such as in response to actuation of a shutter control 304.

The interface 300 of the illustrated embodiment may further include auser interface element identified as a “cheat” control 306. Actuation ofthe cheat control 306 may cause the current context of the mobileterminal 202 including the location of the mobile terminal to becaptured. Actuation of the cheat control 306 may also cause the currentcontext of the mobile terminal 202 to be provided to the remote computer204 such that an image that is based upon the current context of themobile terminal, such as by being associated with the location of themobile terminal, may be provided by the remote computer to the mobileterminal. As such, the cheat control 306 may provide the user with amethod of obtaining an image from the remote computer 204 that may havethe same or similar contextual information (e.g., the same location,viewing angle, and/or time of day) relative to the current context ofthe mobile terminal 202. In some instances, the image provided by theremote computer 204 may be of a higher quality and/or more aestheticallypleasing than if the user had captured an image with the mobile terminal202 since the image provided by the remote computer may, in someinstances, have been captured with better photographic equipment and/orby someone with superior photographic knowledge and experience.

In the instant example, the viewfinder 302 displays a scene of a pyramidthat experiences a high volume of tourist traffic. The image viewable bythe viewfinder 302 includes numerous tourists that obscure the view ofthe pyramid. In order to obtain a photograph that is not obscured bytourists, the user of the mobile terminal 202 may need to wait for along period of time to line up a shot that is not obscured by thecrowds. The user may also be forced to compromise on viewing angle orfocal length based on other factors, such as the crowds and areas of thegrounds from which the user is permitted to capture an image. If theuser were a professional photographer with a permit from the localgovernment and professional equipment, they might be able to take ahigher quality photograph from a better location or at a time when thegrounds are not overrun with tourists.

FIG. 4 is a schematic diagram of an interface 300 of a mobile terminal202 that is configured to display an image based upon the currentcontext of the mobile terminal and associated with the location of themobile terminal that has been provided by a remote computer 204 inaccordance with an example embodiment of the present invention. Theinterface 300 reflects an example display that may be provided to a userif the user were to actuate the cheat control 306 described with respectto FIG. 3. The image provided by the remote computer 204 and presentedby the viewfinder 302 includes the same pyramid as shown with respect toFIG. 3, and may be associated with contextual information that is thesame or similar to the current context of the mobile terminal 202, suchas by being captured from a similar viewing angle and at a similar timeof day and weather environment, but without the crowds of tourists. Assuch, the pyramid may be more clearly seen in the image provided by theremote computer 204.

In one embodiment, the appearance of the user interface element, e.g.,the cheat control 306 or another user interface element, that isactuated to request an image from the remote computer 204 may be altereddepending upon the availability of an image from the remote computerthat is associated with the current location of the mobile terminal 202.In this regard, the apparatus 100, such as the processor 102, the userinterface 108 or the like, embodied by the mobile terminal 202 may causethe user interface element, e.g., the cheat control 306 or another userinterface element, that is actuated to request an image from the remotecomputer 204 to be displayed. The apparatus 100, such as the processor102, of this embodiment may also be configured to determine whether animage associated with the location of the mobile terminal 202 isavailable from the remote computer 204. For example, the apparatus 100may cause the remote computer 204 to be provided with the currentlocation of the mobile terminal 202 and the remote computer may, inturn, provide an indication as to the availability, or not, of an imagethat is associated with the current location of the mobile terminal. Theapparatus 100, such as the processor 102, the user interface 108 or thelike, may then cause a representation of the user interface element tobe altered based upon the availability from the remote computer 204 ofthe image associated with the location of the mobile terminal 202. In aninstance in which an image is available from the remote computer 204,the user interface element, e.g., the cheat control 306 or another userinterface element, may be presented in a manner that is consistent tothat in which the other controls are presented as shown in FIGS. 3 and4. However, in an instance in which an image associated with thelocation of the mobile terminal 202 is unavailable from the remotecomputer 204, the apparatus 100, such as the processor 102, the userinterface 108 or the like, may cause the representation of the userinterface element to be altered, such as by causing the user interfaceelement to be faded as shown in FIG. 5 or by otherwise indicating theunavailability of the function. As such, a user may quickly andintuitively determine if an image associated with the location of themobile terminal 202 is available from the remote computer 204 byconsidering the manner in which the corresponding user interface elementis presented.

FIG. 6 is a flow diagram illustrating the operations performed by anapparatus 100 embodied by a mobile terminal 202 in accordance with anexample embodiment of the present invention. Referring now to block 400of FIG. 6, the apparatus 100 may include means, such as the processor102, the user interface 108 or the like, for receiving user inputrepresentative of a request to obtain an image from a remote computer204. As described above, the user input may be provided in the form ofan actuation of a user interface element, such as a cheat control 306.However, the user input representative of a request to obtain an imagefrom a remote computer 204 may be obtained in other manners in otherembodiments. As shown in block 402, the apparatus 100 may also includemeans, such as the processor 102, the sensors 112 or the like, fordetermining the current context, including the current location, of themobile terminal 202. In one embodiment, for example, the current contextmay be determined by sensing contextual information with the mobileterminal. Although the current context may simply include the currentlocation of the mobile terminal 202, the current context may, in otherembodiments, also include other contextual information, including thetime of day, the viewing angle, the weather environment, the lightconditions, the season or the like, which may be sensed by the mobileterminal.

Referring now to block 404 of FIG. 6, the apparatus 100 may also includemeans, such as the processor 102, the communications interface 106 orthe like, for causing the current context to be transmitted to theremote computer 204, such as in conjunction with the request for animage that is based upon the current context of the mobile terminal 202.The apparatus 100 may also include means, such as the processor 102, thecommunications interface 106 or the like, for receiving an image fromthe remote computer 204 based upon the current context of the mobileterminal 202. See block 406 of FIG. 6. In this regard, the image that isreceived from the remote computer 204 is associated with the location ofthe mobile device 202 at the time at which the user input was received.As described above, the image provided by the remote computer 204 andreceived by the mobile terminal 202 may be associated with contextualinformation that is matches, e.g., is the same or similar to, thecurrent context of the mobile terminal. As shown in FIG. 4, theapparatus 100, such as the processor 102, the user interface 108 or thelike, may cause the image that is received from the remote computer tobe displayed. Additionally or alternatively, the apparatus 100 mayinclude means, such as the processor 102, the memory 104 or the like,for causing the image received from the remote computer 204 to bestored. See block 408 of FIG. 6. In one embodiment, the apparatus 100may include means, such as the processor 102, for assigning a time valueto the image received from the remote computer 204. The time value maybe based upon the time at which the user input was received that servedto request that an image be obtained from the remote computer 204. Assuch, the image provided by the remote computer 204 may be time-stampedand stored in the same fashion as other images captured by the mobileterminal 202.

In one embodiment, the user may modify at least some of the contextualinformation prior to provision of the current context to the remotecomputer 204. In this regard, the apparatus 100 may include the means,such as the processor 102, user interface 108 or the like, for receivinguser input partially overriding the some of the contextual informationthat defines the current context of the mobile terminal 202. As such,the image that is thereafter received from the remote computer 204 basedupon the current context may, in this embodiment, be based upon thecurrent context as partially overridden by the user. By way of anexample, the current weather may be rainy, but the user of the mobileterminal 202 may desire an image to be retrieved from the remotecomputer 204 that was taken on a sunny day such that the user mayoverride the weather conditions included within the current context soas to better represent the desires of the user.

Although the mobile terminal 202 need not be configured to captureimages itself, the mobile terminal of one embodiment may be configuredto capture images. Thus, the apparatus 100 of this embodiment mayinclude means, such as the processor 102, the camera 110 or the like,for causing an image to be captured. In this embodiment, the apparatus100 may also include means, such as a processor 102, the memory 104 orthe like, for causing the image that was captured to be stored alongwith the images received from the remote computer 204. Thus, imagescaptured by the mobile terminal 202 and images received from the remotecomputer 204 may be time-stamped and stored in the same fashion inaccordance with one embodiment, thereby facilitating subsequent reviewof the images without delineation as to whether the images were directlycaptured by the mobile terminal or provided by a remote computer.

In one embodiment in which the mobile terminal 202 is configured tocapture images, the apparatus 100 may include means, such as theprocessor 102, the communication interface 106 or the like, for causingthe image that was captured to be provided to the remote computer 204.In this regard, the image that was captured may be provided to theremote computer 204 and the contextual information that is associatedwith or that may be derived from the image, such as a result of imageanalysis performed by the remote computer, may either serve as thecurrent context of the mobile terminal 202 that is provided to theremote computer or may supplement the current context of the mobileterminal by also being provided to the remote computer. In thisembodiment, the image that is provided to the mobile terminal 202 fromthe remote computer 204 based upon the current context of the mobileterminal including the location of the mobile terminal may be based, atleast in part, upon the contextual information associated with orderived from the image that was captured by the mobile terminal andprovided to the remote computer. The mobile terminal 202 may also beconfigured to provide some or all of the images that are captured by themobile terminal to the remote computer 204 in order to supplement theimage database 206 of the remote computer.

As described above, the method, apparatus 100 and computer programproduct of an example embodiment allow a mobile terminal 202 to obtainimages from a remote computer 204 that are based upon the currentcontext of the mobile terminal. Thus, in some embodiments, the method,apparatus 100 and computer program product may obtain images that are ofhigher quality or otherwise more aesthetically pleasing than could bereadily captured by the mobile terminal 202. Moreover, the method,apparatus 100 and computer program product of one embodiment isresponsive to user input so as to obtain an image from the remotecomputer 204 that is based upon the current context of the mobileterminal 202, such as by being associated with the location of themobile terminal, in an automated manner so as not to distract the useror otherwise consume the user's time.

It will be understood that each block of the flowchart, and combinationsof blocks in the flowchart, may be implemented by various means, such ashardware, firmware, processor, circuitry, and/or other devicesassociated with execution of software including one or more computerprogram instructions. For example, one or more of the proceduresdescribed above may be embodied by computer program instructions. Inthis regard, the computer program instructions which embody theprocedures described above may be stored by a memory 104 of an apparatusemploying an embodiment of the present invention and executed by aprocessor 102 of the apparatus. As will be appreciated, any suchcomputer program instructions may be loaded onto a computer or otherprogrammable apparatus (e.g., hardware) to produce a machine, such thatthe resulting computer or other programmable apparatus implements thefunctions specified in the flowchart blocks. These computer programinstructions may also be stored in a computer-readable memory that maydirect a computer or other programmable apparatus to function in aparticular manner, such that the instructions stored in thecomputer-readable memory produce an article of manufacture the executionof which implements the function specified in the flowchart blocks. Thecomputer program instructions may also be loaded onto a computer orother programmable apparatus to cause a series of operations to beperformed on the computer or other programmable apparatus to produce acomputer-implemented process such that the instructions which execute onthe computer or other programmable apparatus provide operations forimplementing the functions specified in the flowchart blocks.

Accordingly, blocks of the flowchart support combinations of means forperforming the specified functions and combinations of operations forperforming the specified functions for performing the specifiedfunctions. It will also be understood that one or more blocks of theflowchart, and combinations of blocks in the flowchart, can beimplemented by special purpose hardware-based computer systems whichperform the specified functions, or combinations of special purposehardware and computer instructions.

In some embodiments, certain ones of the operations above may bemodified or further amplified. Furthermore, in some embodiments,additional optional operations may be included. Modifications,additions, or amplifications to the operations above may be performed inany order and in any combination.

Many modifications and other embodiments of the inventions set forthherein will come to mind to one skilled in the art to which theseinventions pertain having the benefit of the teachings presented in theforegoing descriptions and the associated drawings. Therefore, it is tobe understood that the inventions are not to be limited to the specificembodiments disclosed and that modifications and other embodiments areintended to be included within the scope of the appended claims.Moreover, although the foregoing descriptions and the associateddrawings describe example embodiments in the context of certain examplecombinations of elements and/or functions, it should be appreciated thatdifferent combinations of elements and/or functions may be provided byalternative embodiments without departing from the scope of the appendedclaims. In this regard, for example, different combinations of elementsand/or functions than those explicitly described above are alsocontemplated as may be set forth in some of the appended claims.Although specific terms are employed herein, they are used in a genericand descriptive sense only and not for purposes of limitation.

That which is claimed:
 1. A method comprising: determining whether animage associated with a location of a mobile terminal is available froma remote computer; causing a representation of a user interface elementto be altered based upon availability of the image associated with thelocation of the mobile terminal from the remote computer; receiving userinput representative of a request to obtain an image from the remotecomputer, wherein the user input is received via the user interfaceelement; determining, using a processor, a current context including thelocation of the mobile terminal; causing the current context to betransmitted to the remote computer; receiving an image from the remotecomputer based upon the current context of the mobile terminal, whereinthe image is associated with the location of the mobile terminal uponreceiving the user input; and causing the image received from the remotecomputer to be stored, wherein the current context is determined and theimage is received from the remote computer without capture of an imageby the mobile terminal.
 2. The method of claim 1, wherein determiningthe current context comprises determining contextual information sensedby the mobile terminal.
 3. The method of claim 2, wherein the contextualinformation further includes at least one of a time of day, a viewingangle, a weather environment, light conditions or a season.
 4. Themethod of claim 1, further comprising causing an image to be capturedand causing the image that was captured to be stored along with theimage received from the remote computer.
 5. The method of claim 4further comprising causing the image that was captured to be provided tothe remote computer.
 6. The method of claim 1, further comprisingassigning a time value to the image received from the remote computerbased upon a time at which the user input was received.
 7. The method ofclaim 1, further comprising receiving user input partially overridingthe current context, wherein receiving an image from the remote computerbased upon the current context comprises receiving the image from theremote computer based upon the current context as partially overriddenby the user input.
 8. An apparatus comprising at least one processor andat least one memory including computer program instructions, the atleast one memory and the computer program instructions configured to,with the at least one processor, cause the apparatus at least to:determine whether an image associated with a location of a mobileterminal is available from a remote computer; cause a representation ofa user interface element to be altered based upon availability of theimage associated with the location of the mobile terminal from theremote computer; receive user input representative of a request toobtain an image from the remote computer, wherein the user input isreceived via the user interface element; determine a current contextincluding the location of the mobile terminal; cause the current contextto be transmitted to the remote computer; receive an image from theremote computer based upon the current context of the mobile terminal,wherein the image is associated with the location of the mobile terminalupon receiving the user input; and cause the image received from theremote computer to be stored, wherein the current context is determinedand the image is received from the remote computer without capture of animage by the mobile terminal.
 9. The apparatus of claim 8, wherein theat least one memory and the computer program instructions are configuredto, with the at least one processor, cause the apparatus to determinethe current context by determining contextual information sensed by themobile terminal.
 10. The apparatus of claim 9, wherein the contextualinformation further includes at least one of a time of day, a viewingangle, a weather environment, light conditions or a season.
 11. Theapparatus of claim 8, wherein the at least one memory and the computerprogram instructions are further configured to, with the at least oneprocessor, cause the apparatus to cause an image to be captured and tocause the image that was captured to be stored along with the imagereceived from the remote computer.
 12. The apparatus of claim 11,wherein the at least one memory and the computer program instructionsare further configured to, with the at least one processor, cause theapparatus to cause the image that was captured to be provided to theremote computer.
 13. The apparatus of claim 8, wherein the at least onememory and the computer program instructions are further configured to,with the at least one processor, cause the apparatus to assign a timevalue to the image received from the remote computer based upon a timeat which the user input was received.
 14. The apparatus of claim 8,wherein the at least one memory and the computer program instructionsare further configured to, with the at least one processor, cause theapparatus to receive user input partially overriding the currentcontext, wherein the at least one memory and the computer programinstructions are configured to, with the at least one processor, causethe apparatus to receive an image from the remote computer based uponthe current context by receiving the image from the remote computerbased upon the current context as partially overridden by the userinput.
 15. A computer program product comprising at least onenon-transitory computer-readable storage medium bearing computer programinstructions embodied therein for use with a computer, the computerprogram instructions comprising program instructions configured to:determine whether an image associated with a location of a mobileterminal is available from a remote computer; cause a representation ofa user interface element to be altered based upon availability of theimage associated with the location of the mobile terminal from theremote computer; receive user input representative of a request toobtain an image from the remote computer, wherein the user input isreceived via the user interface element; determine a current contextincluding the location of the mobile terminal; cause the current contextto be transmitted to the remote computer; receive an image from theremote computer based upon the current context of the mobile terminal,wherein the image is associated with the location of the mobile terminalupon receiving the user input; and cause the image received from theremote computer to be stored, wherein the current context is determinedand the image is received from the remote computer without capture of animage by the mobile terminal.
 16. The computer program product of claim15, wherein the program instructions configured to determine the currentcontext comprise program instructions configured to determine contextualinformation sensed by the mobile terminal.
 17. The computer programproduct of claim 16, wherein the contextual information further includesat least one of a time of day, a viewing angle, a weather environment,light conditions or a season.
 18. The computer program product of claim15, wherein the program instructions are further configured to cause theapparatus to cause an image to be captured and to cause the image thatwas captured to be stored along with the image received from the remotecomputer.
 19. The computer program product of claim 15, wherein theprogram instructions are further configured to cause the image that wascaptured to be provided to the remote computer.
 20. The computer programproduct of claim 15, wherein the program instructions are furtherconfigured to assign a time value to the image received from the remotecomputer based upon a time at which the user input was received.
 21. Thecomputer program product of claim 15, wherein the computer programinstructions further comprise program instructions configured to receiveuser input partially overriding the current context, and wherein theprogram instructions configured to receive an image from the remotecomputer based upon the current context comprise program instructionsconfigured to receive the image from the remote computer based upon thecurrent context as partially overridden by the user input.